package org.knot.autojmx.annotations;

import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * AutoJMX Anotation
 * 
 * @author <a href="mailto:yuxiaoweimail@gmail.com">yuxiaowei</a>
 */
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface AutoJMX {
	
	/**
	 * 是否将Bean所有属性、方法全部发布
	 * 
	 * 是：全部发布
	 * 否：只发布标记了Annotation的属性、方法
	 * @return
	 */
	boolean allPublish() default true;
	
  
    String objectname() default "";

    /**
     * MBean domain.
     * Default : 'package-name'
     */
    String domain() default "";

    /**
     * MBean name.
     * Default : 'instance-name'
     */
    String name() default "";

	/**
	 * MBean description
	 * Default empty
	 */
    String description() default "";
}
